// 严格模式
"use strict";

/***************************************1.标准对象Date*********************************/
function standardDate() {
    var  ele = document.getElementById('func_standardDate');
    ele.innerText = '\n/***************************************1.标准对象Date*********************************/\n' +
        '// 1. 当前时间是浏览器从本机操作系统获取的时间，所以不一定准确，因为用户可以把当前时间设定为任何值。\n' +
        '\n' +
        '   // JavaScript的Date对象月份值从0开始，牢记0=1月，1=2月，2=3月，……，11=12月。\n' +
        '\n' +
        '    var now = new Date();\n' +
        '    console.log(now); // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)\n' +
        '    console.log(now.getFullYear()); // 2015, 年份\n' +
        '    console.log(now.getMonth()); // 5, 月份，注意月份范围是0~11，5表示六月\n' +
        '    console.log(now.getDate()); // 24, 表示24号\n' +
        '    console.log(now.getDay()); // 3, 表示星期三\n' +
        '    console.log(now.getHours()); // 19, 24小时制\n' +
        '    console.log(now.getMinutes()); // 49, 分钟\n' +
        '    console.log(now.getSeconds()); // 22, 秒\n' +
        '    console.log(now.getMilliseconds()); // 875, 毫秒数\n' +
        '    console.log(now.getTime()); // 1435146562875, 以number形式表示的时间戳\n' +
        '\n' +
        '\n' +
        '    // 2.创建指定时间\n' +
        '    var  date2 = new  Date(1435146562875);\n' +
        '    var  date3 = Date.parse(\'2015-06-24T19:49:22.875+08:00\');\n' +
        '    console.log(date2.toLocaleDateString(),date3);';


}


/***************************************2.标准对象Math*********************************/
function standardMath() {

    var  ele = document.getElementById('func_standardMath');

    ele.innerText = '\n/***************************************2.标准对象Math*********************************/\n' +
        ' //方法介绍\n' +
        '    Math.round();  //四舍五入\n' +
        '\n' +
        '    Math.random();  //0 到 1 之间的随机数\n' +
        '\n' +
        '    Math.max();  //最大值\n' +
        '\n' +
        '    Math.min();  //最小值\n' +
        '    \n' +
        '    //常量\n' +
        '    Math.E      //      常数\n' +
        '    Math.PI     //    圆周率\n' +
        '    Math.SQRT2   //   2 的平方根\n' +
        '    Math.SQRT1_2  //  1/2 的平方根\n' +
        '    Math.LN2      //  2 的自然对数\n' +
        '    Math.LN10      // 10 的自然对数\n' +
        '    Math.LOG2E     // 以 2 为底的 e 的对数\n' +
        '    Math.LOG10E    //  以 10 为底的 e 的对数';
}

/***************************************3.标准对象RegExp正在表达式*************************/
function standardRegExp() {

    let element = document.getElementById('func_standardRegExp');

    element.innerText = '\n/*****************************3.标准对象RegExp正在表达式*************************/\n' +
        '\n' +
        '    //1.定义正则表达式对象\n' +
        '\n' +
        '    var patt=new RegExp(pattern,modifiers);\n' +
        '\n' +
        '    //或更简单的方法 var patt=/pattern/modifiers;\n' +
        '\n' +
        '     var  r1 = ttt/g;\n' +
        '     //等价于\n' +
        '    var  r2 = new  RegExp(\'ttt\',\'g\');\n' +
        '\n' +
        '    // 2.正则表达式的修饰符\n' +
        '\n' +
        '    //i - 修饰符是用来执行不区分大小写的匹配。\n' +
        '\n' +
        '    //g - 修饰符是用于执行全文的搜索（而不是在找到第一个就停止查找,而是找到所有的匹配）\n' +
        '\n' +
        '\n' +
        '    //2、正则表达式的三个方法\n' +
        '\n' +
        '\n' +
        '    // test()   检索字符串中的指定值。返回值是 true 或 false\n' +
        '\n' +
        '    var  reg1 = new RegExp(\'2\');  //在一个字符串中检索时，将寻找的是字符 "2"。\n' +
        '    reg1.test(\'1233444444\');    // true\n' +
        '\n' +
        '    // exec()   检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配，则返回 null\n' +
        '    var  reg1 = new RegExp(\'2\');  //在一个字符串中检索时，将寻找的是字符 "2"。\n' +
        '    reg1.exec(\'1233444444\');    // 2\n' +
        '\n' +
        '    // compile()  用于改变 RegExp 既可以改变检索模式，也可以添加或删除第二个参数。\n' +
        '\n' +
        '\n' +
        '    // 3.正则匹配的表达式\n' +
        '    /**\n' +
        '     * \\d   可以匹配一个数字       e.g  \'\\d\\d\\d\'可以匹配\'010\'\n' +
        '     * \\w   可以匹配一个字母或数字  e.g \'\\w\\w\'可以匹配\'js\'\n' +
        '     * .    可以匹配任意字符       e.g \'js.\'可以匹配\'jsp\'、\'jss\'、\'js!\'\n' +
        '     * *    表示任意个字符\n' +
        '     * +    表示至少一个字符\n' +
        '     * ?    表示0个或1个字符\n' +
        '     * {n}  表示n个字符\n' +
        '     * {n,m}表示n-m个字符\n' +
        '     * []   表示范围\n' +
        '     * ^    表示行的开头\n' +
        '     * ^\\d  表示必须以数字开头\n' +
        '     * $    表示行的结束\n' +
        '     * \\d$  表示必须以数字结束\n' +
        '     * */\n';

}

/***************************************4.标准对象JSON*************************/
function standardJSON() {
    var  ele = document.getElementById('func_standardJSON');

    ele.innerText = '\n/***************************************4.标准对象JSON*************************/\n' +
        '//json 格式\n' +
        '    // 1、字符集必须是UTF-8\n' +
        '    // 2、JSON的字符串规定必须用双引号""\n' +
        '    // 3、Object的键也必须用双引号""\n' +
        '    var  json = {\n' +
        '         "name" : \'zibin\',\n' +
        '         "age" : [12,3,4,5],\n' +
        '    }\n' +
        '\n' +
        '    //对象 --> json  stringify() 参数二：[\'name\', \'skills\'] 或者传入一个函数\n' +
        '    var  xiaoming = {\n' +
        '        name: \'小明\',\n' +
        '        age: 14,\n' +
        '        gender: true,\n' +
        '        height: 1.65,\n' +
        '        grade: null,\n' +
        '        \'middle-school\': \'\\"W3C\\" Middle School\',\n' +
        '        skills: [\'JavaScript\', \'Java\', \'Python\', \'Lisp\'],\n' +
        '        \n' +
        '        toJSON : function () {\n' +
        '            return { // 只输出name和age，并且改变了key：\n' +
        '                \'Name\': this.name,\n' +
        '                \'Age\': this.age\n' +
        '            };\n' +
        '        }\n' +
        '    };\n' +
        '\n' +
        '    var s = JSON.stringify(xiaoming);\n' +
        '    console.log(s);\n' +
        '\n' +
        '\n' +
        '     //JSON字符串 --> json\n' +
        '    var obj = JSON.parse(\'{"name":"小明","age":14}\', function (key, value) {\n' +
        '        if (key === \'name\') {\n' +
        '            return value + \'刷个\';\n' +
        '        }\n' +
        '        return value;\n' +
        '    });\n' +
        '    console.log(JSON.stringify(obj)); // {name: \'小明同学\', age: 14}';


}